@echo off
echo === ESP32 项目 Git + VSCode UTF-8 环境修复工具 ===
echo.

REM 设置 Git 全局换行策略
echo [1] 设置 Git 全局换行符策略...
git config --global core.autocrlf input
git config --global core.eol lf

REM 生成 .gitignore
echo [2] 生成 .gitignore 文件...
(
echo # 忽略 PlatformIO 编译输出
echo .pio/
echo
echo # 忽略 VSCode 自动生成的数据库
echo .vscode/.browse.c_cpp.db*
echo .vscode/c_cpp_properties.json
echo .vscode/launch.json
echo .vscode/ipch/
echo
echo # 忽略 Python 缓存
echo __pycache__/
echo *.pyc
echo
echo # 忽略系统文件
echo .DS_Store
echo Thumbs.db
echo
echo # 忽略编译产物
echo *.o
echo *.d
echo *.elf
echo *.bin
echo *.map
echo
echo # 忽略日志
echo *.log
) > .gitignore

REM 创建 .vscode/settings.json
echo [3] 生成 VSCode 设置文件...
if not exist .vscode mkdir .vscode
(
echo {
echo    "files.eol": "\n",
echo    "files.encoding": "utf8"
echo }
) > .vscode\settings.json

REM 删除 PlatformIO 缓存目录
echo [4] 删除 PlatformIO 缓存目录 .pio ...
rmdir /s /q .pio 2>nul

REM 刷新 Git 缓存
echo [5] 清理 Git 索引缓存...
git rm --cached -r . >nul 2>&1
git reset --hard >nul 2>&1

echo.
echo ✅ 已完成全部配置！
echo - Git 将不再提示 LF/CRLF 警告
echo - .pio 文件夹不会被上传
echo - VSCode 将强制使用 UTF-8 + LF
echo.
pause
